﻿using CoachingOrganizer.Toolkit.Events;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CoachingOrganizer.ClientInfrastructure.ServicesEntities.LocalStorage.Tools.MoneyCalculation
{
    public interface IMoneyCalculationInfo : IToolInfo
    {
        DateTime Start { get; set; }

        DateTime Finish { get; set; }

        IEnumerable<IStableMoneyFlowItemInfo> StableItemsInfo { get; }

        IEnumerable<IOccasionalMoneyFlowItemInfo> OccasionalItemsInfo { get; }

        ActionResult LoadStableItems();

        ActionResult LoadOccasionalItems();

        ActionResult<IStableMoneyFlowItemInfo> AddNewStableItem(Action<IStableMoneyFlowItemInfo> initCallback);

        ActionResult<IOccasionalMoneyFlowItemInfo> AddNewOccasionalItem(Action<IOccasionalMoneyFlowItemInfo> initCallback);
    }
}
